1. Field of the Invention
The present invention relates to a method and a device for controlling access to a disc storage device and more particularly relates to a method and a device for controlling access to a disc storage device suitable for use in, for example, a so-called multimedia server demanding high capacity and a high transfer rate and that has to guarantee real time operation even for random accesses.
2. Description of the Related Art
A storage medium for use with multi-media data such as images and audio is referred to as a multi-media server. The following is usually demanded of multimedia servers.
1. High capacity and high transfer rate.
2. Random access.
3. Real time operation.
The background for the occurrence of these requirements and the technology for taking into consideration the fulfillment of these demands are described in the following.
Firstly, the reason why a large capacity and high transfer rate are required by a multi-media server is that the amount of data such as images and audio, etc., handled by multimedia servers is substantial and a high transfer rate is therefore required. With regard to these requirements, processing can then be carried out by adopting as a multimedia server a disc array system comprising a plurality of disc storage devices; i.e., it is possible to increase the transfer rate at the time of data reading and writing by running disc storage devices in parallel. Further, if a disc array system of a RAID (Redundant Arrays of Inexpensive Disks) configuration is adopted as the multi-media server, system reliability can be improved.
Secondly, random accessing is successively accessing data existing at physically separated places. Sequentially accessing data at physically consecutive places is referred to as sequential accessing. Multimedia data is the gathering of data in which continuity has a meaning, with sequential access usually being considered to be the main constituent even at the server. However, when actual applications are considered, this does not have to be the case.
For example, typical multimedia servers include non-linear editors and VOD (Video-On-Demand) servers. Non-linear editors use an editing method where images held in image storing places that are physically remote are instantaneously joined together without interruption. VOD is a service where a number of different sequence moving images are simultaneously provided while being randomly accessed in accordance with requests by a plurality of observers. Random access occurs, however, in whichever case and the server therefore has to deal with this.
Thirdly, real time processing means that there is a guaranteed upper limit put on the processing time. For example, if a moving image is not displayed at 30 images per second shown successively at fixed intervals, movement becomes unnatural. Further, if the disc processing power is insufficient so that the audio data is lacking, the sound will be discontinuous and a disagreeable noise will occur. Therefore, even in the worst case, it is important to guarantee an upper limit where processing can be carried out in at least this much time. Therefore, whereas in storage for use with related computers it has been average performance that has been considered important, with multimedia servers it is the maximum value for the processing time that is to be kept low.
It can therefore be understood that guaranteeing real time performance with random access is important for these multimedia servers. At the same time, this also puts demands on the disc storage device units comprising these multimedia servers; i.e., in exactly the same way, the disc storage devices have to be capable of reading or writing data that is at places separated physically on a recording surface successively within a decided period of time.
A time T.sub.i/o for accessing a sub-block arranged at a prescribed track on a disc recording medium is given by the sum of a time T.sub.r/w for actually reading or writing while the disc head is passing the sub-block, a seek time T.sub.seek for moving the head to the desired cylinder and a rotation wait time T.sub.rd from after the head is moved to the desired cylinder until the head of the data within the track appears. EQU T.sub.i/o =T.sub.r/w +T.sub.seek +T.sub.rd
Here, T.sub.seek and T.sub.rd are overhead time. In the case of sequential access, this overhead time is close to zero without there being any limit but with random access, disc performance deteriorates as the overhead time increases.
However, a method referred to as a SCAN algorithm exists as a related technology for reducing the seek time that is one cause of overhead time. This method is an algorithm for carrying out processing where, as shown in FIG. 1A, when there is a plurality of "Input/Output" (hereinafter abbreviated to "I/O") requests (#1, #2, #3, #4, #5), these requests are sorted across the radial direction of the disc and replaced with the order (#3, #1, #2, #5, #4) as shown in FIG. 1B. As shown in FIG. 1A, the coming and going of the head that is likely to occur when the I/O requests are processed in the order of arrival can be prevented and the respective seek times can therefore be reduced.
On the other hand, the following shown as a technology for reducing the rotation wait time that is a further cause of overhead time in U.S. application Ser. No. 731,861 (filed on Oct. 21, 1996), now U.S. Pat. No. 5,708,632, and its continuation application Ser. No. 889,906, filed on Jul. 10, 1997, now U.S. Pat. No. 5,914,916. Namely, a method where sub-block arrangement is carried out using skew present at angular differences present for the circular directions between heads of sub-blocks and both seek time and rotation wait time are suppressed in combination with a scan algorithm. FIG. 2 shows an example of arranging sub-blocks in the case where the skew and gap values are fixed.
In this way, control can be exerted so that the head of the desired sub-block does not exceed the position of the head during the seek operation by making the skew value fixed. Therefore, when the desired sub-block is accessed, it is only necessary to wait for a rotation time that is the time for the head of this sub-block to return again to the head position so that the rotation wait time can therefore be reduced.
Further, having the gap for the angular difference of the head and end of each block fixed also means that the time T.sub.r/w for actually reading or writing each block is also fixed. In order to estimate the time for one I/O the overhead time has to be known in addition to the time T.sub.r/w and this can be estimated from the graph shown in FIG. 3.
FIG. 3 shows the overhead time for a disc arranged with sub-blocks as shown in FIG. 2. Here, the horizontal axis shows the seek distance, i.e. the number of cylinders to be crossed over when the head for the disc is moved, and the vertical axis shows the time that this takes. The dotted-and-dashed line is the seek time T.sub.seek and the solid line is the overall overhead time. As the overhead time is the sum of the seek time T.sub.seek and the rotation wait time T.sub.rd, the difference between the solid line and the dotted-and-dashed line is therefore the rotation wait time T.sub.rd.
In the above method of the aforementioned US application, the rotation wait time could not be estimated. Therefore, the maximum values for the overhead time can be calculated, as shown by the dotted line in the graph, with this value being calculated as T.sub.seek plus the time for one rotation. From this graph, by carrying out the arrangements of sub-blocks shown in FIG. 2, the overhead time can be kept small as shown by the solid line when compared with that described above shown by the dotted line.
Further, when the application of a SCAN algorithm to the kind of sub-block arrangement method shown in FIG. 2 is considered, when I/O requests occur with respect to sub-blocks present at equal distances in the cylinder direction as shown in FIG. 4, this can be understood to be that which requires the most time. The cylinder spacing L.sub.avg at this time is the average seek distance and the maximum value for the overhead time at the total occurring in a scan of one time can be calculated from the overhead time when the seek distance occurring in FIG. 3 is L.sub.avg.
Not only was this value smaller than the time when just the SCAN algorithm was applied but was also extremely close to the maximum value that was actually observed. This can be taken as a reliable indication of the value estimated in the above way, with this being very useful in the design of multimedia servers.
There is, however, a formatting method for disc storage devices such as hard discs etc. referred to as "zone bit recording" (ZBR). Here, as shown in FIG. 5, the number of sectors per track is increased as the outer periphery is approached from the inner periphery under the conditions of a fixed recording density and a fixed disc rotational velocity. ZBR is a formatting method that increases the recording capacity of the disc by dividing the recording surface into a plurality of zones using distances from the center of the disc so as to make the number of sectors per outer zone greater than the number of sectors per inner zone.
FIG. 6 shows the relationship between the cylinder address and number of sectors per one track occurring at a disc storage device formatted using the ZBR method. Here, the horizontal axis shows the cylinder address and the vertical axis shows the number of sectors per track, with inner tracks having fewer sectors than outer tracks.
On the other hand, it is common for data such as images and audio etc. handled by a multimedia server to originally have been fixed length data. When this kind of fixed length data is stored on a multimedia server comprising m disc storage devices, a method is considered where the data are first divided into n (n.ltoreq.m) sub-blocks of the same size. Then, n devices are selected from m disc storage devices and writing is carried out so as to fill these storage devices up in an order from the outer disc storage devices or from the inner disc storage devices. FIG. 7 shows an example of a case where the number of disc storage devices m is taken to be 6, the number of sub-blocks n into which the data is divided is taken to be 4, and sub-blocks are written in order from disc storage devices at the outer periphery.
However, at this time, when it is wished to use a ZBR formatted disc storage device, with the arrangement of the sub-blocks on a single disc storage device, the gap value is not fixed depending on the arrangement place as shown in FIG. 8A. In FIG. SA the skew values have all been made 0 for convenience but in reality this skew value will not become fixed even if the skew value is a value other than zero.
FIG. 8B is a graph showing transitions in the size of gaps for each sub-block when going from the outer periphery towards the inner periphery. Here, the horizontal axis shows the track position and the vertical axis shows the size of the gap. The number of sectors per track becomes smaller when going from the outer periphery towards the inner periphery, with the gap value gradually becoming smaller in line with this gap value. Because of this, depending on the case it may not be possible for a sub-block to be fitted onto one track and a sub-block may therefore have to be put across two tracks, with the gap value therefore making a sudden jump from about 0 degrees to about 360 degrees.
When the gap is fixed, a method of arranging sub-blocks that is capable of suppressing rotation wait time can be easily obtained by setting the skew to an appropriate fixed value. However, when the gap is not fixed, methods for obtaining an appropriate skew are extremely complicated.
Further, the time T.sub.r/w for actually reading or writing while the head for the disc is passing over the sub-block is small when the sub-blocks are arranged from the outer periphery but is large when the sub-blocks are arranged from the inner periphery, as shown in FIG. 8C. In FIG. 8C, the horizontal axis shows the track position and the vertical axis shows the time necessary for reading or writing to and from each of the sub-blocks.
As described above with reference to FIG. 3, estimates for the maximum value for the time taken for one scan take place under the condition that the portion of time T.sub.r/w is fixed regardless of the place of arrangement of the sub-block. It is therefore possible to compare the portion of time T.sub.r/w with just the estimate deduced for the overhead time. However, when the time T.sub.r/w is changed by the arrangement place of the sub-block, an irregular element of T.sub.r/w has to be added to the overhead time. This complicates the estimation of the maximum value taken for the time taken for a scan of one time and further complicates the design of the multimedia server.
As the present invention sets out to resolve the aforementioned problems, it is the object of the present invention to provide a method and a device for controlling access to a disc storage device capable of providing gap and skew values for data that are constant for a plurality of the disc storage devices having a number of sectors per one track that is larger for tracks at the outer periphery than for tracks at the inner periphery even in the case of the arrangement of fixed length data.